/**
 * initialize the libdragonscript
 * Copyright (C) 2009 Hajime Yoshimori <RoarLudros@gmail.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <DragonInit>
#include <DragonExcept>
#include <IntlCommon>

#include <config.h>

#include <libintl.h>
#include <clocale>

namespace dragon {
  DragonInit _;
}

dragon::DragonInit::init_flag dragon::DragonInit::initialized = { false, false };

dragon::DragonInit::DragonInit() {
  if(!initialized.intl) {
	init_intl();
	initialized.intl = true;
  }
}

dragon::DragonInit::DragonInit(dragon::DragonInit::What w) {
  switch(w) {
	case Intl:
	  if(!initialized.intl) {
		init_intl();
		initialized.intl = true;
	  }
	  break;
	case Script:
	  if(!initialized.script) {
		init_script();
		initialized.script = true;
	  }
	  break;
  }
}


//-<private>--
void dragon::DragonInit::init_intl() {
  _.addDomain(LIBDRAGONSCRIPT_DOMAIN_NAME);
}

void dragon::DragonInit::init_script() {
  
}
